package org.dromara.finance.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.finance.domain.Bill;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 收款登记视图对象 bill
 *
 * @author xxy
 * @date 2025-08-19
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Bill.class)
public class BillVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 账单类型 1-收款，2-付款
     */
    @ExcelProperty(value = "账单类型 1-收款，2-付款")
    private Long billType;

    /**
     * 关联合同id
     */
    @ExcelProperty(value = "关联合同id")
    private Long contractId;

    /**
     * 收付款金额
     */
    @ExcelProperty(value = "收付款金额")
    private BigDecimal billAmount;

    /**
     * 入账日期
     */
    @ExcelProperty(value = "入账日期")
    private Date recordDate;

    /**
     * 相关凭证号
     */
    @ExcelProperty(value = "相关凭证号")
    private String voucherNum;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    private String saleContractNum;
    private String purchaseContractNum;
    private String projectName;
    private String customerName;
    private String supplierName;
    private Long transportSection;
    private BigDecimal localTotalAmount;
    private Long currency;


}
